Public Blockchains are open for all and hence the chances of cyber-

attacks as well as many other threats are to be addressed before it is

eligible for production.

1.7.1 Double Spending

Unlike the fiat/physical cash, which cannot be spent twice, one can

play with the crypto-currencies trying to spend the same money

twice in a quick succession. Let’s explain this with an example.

Tom and Harry agree to do a transaction worth $10 where Tom has

to pay Harry the amount. Tom and Laura too agree for another

transaction worth $10 where Tom has to pay Laura the amount.

But Tom only has $10 in his account. He first sends the money to

Harry. We already saw that the transaction is evaluated by the

miners and it takes some time to get confirmed. But before the

confirmation, he sends the amount again to Laura. So, now we have

two unconfirmed transactions in the pool. Such a type of fraud is

called double spending.

In order to avoid this, Blockchain keeps a timestamp of each

transaction. So, for the sender to revert the first transaction and send

it again, he needs to tamper with the Blockchain data by altering the

whole chain, considering the fact that the hashes are saved in the

following blocks, which is next to impossible.

1.7.2 Sybil Attack

Figure 1.9 illustrates a sybil attack, where a hacker somehow gets

the access to multiple nodes instead of one in a public Blockchain,

and tries to manipulate the control of the network, as shown as

follows: